<template>
  <div ref="wrapper">
    <div class="content">
      <slot></slot>
    </div>
  </div>
</template>

<script>
import BScroll from 'better-scroll'

export default {
  name: 'Scroll',
  props: {
    probeType: {
      type: Number,
      default: 0,
    },
    pullUpLoad: {
      type: Boolean,
      default: false
    }
  },
  data(){
    return {
      scroll: null
    }
  },
  mounted(){
      this.scroll = new BScroll(this.$refs.wrapper,{
        click: true,
        probeType: this.probeType,
        pullUpLoad: this.pullUpLoad,
        mouseWheel: true
      })

      this.scroll.on('scroll',position=>{
        this.$emit('scroll',position);
      })

      if(this.pullUpLoad){
        this.scroll.on('pullingUp',()=>{
          this.$emit('pullingUp')
        })
      }
  },
  updated(){
    this.scroll.refresh()
  },
  methods: {
    scrollTo(x, y, Time=800){
      this.scroll && this.scroll.scrollTo(x,y,Time);
    },
    refresh(){
      this.scroll && this.scroll.refresh()
      // console.log('------------------');
    },
    finishPullUp(){
      this.scroll && this.scroll.finishPullUp()
    },
    getScrollY(){
      return this.scroll.y
    }
  }
}
</script>

<style scoped>

</style>
